/* ----------------------------------------------------------------------------
* File: message_queue.h
*
* Desc: Interface for any queue of messages
*
* Created: 06/05/2011, by Alexey Korshunov
* ---------------------------------------------------------------------------- */
#ifndef _MESSAGE_QUEUE_H_
#define _MESSAGE_QUEUE_H_

#include <string>


namespace Common
{
	struct MsgInfo
	{
		std::string msg;
		std::string user;
	};

	class MessageQueue
	{
	public:
		virtual ~MessageQueue(){}

		virtual size_t GetCount() const = 0;
		virtual void PutMsg(const MsgInfo& info) = 0;
		virtual void GetMsg(MsgInfo& info) = 0;
		virtual void Clear() = 0;
	};
}

#endif // _MESSAGE_QUEUE_H_